Vehicle control with facial and gesture recognition using a convolutional neural network

ABSTRACT

A system and method for facial and gesture recognition, and more particularly a system and method for facial and gesture recognition using a heterogeneous convolutional neural network (CNN).

FIELD

The present disclosure relates generally to controlling a vehicle with facial and gesture recognition, and more particularly to controlling a vehicle with facial and gesture recognition using a convolutional neural network (CNN).

BACKGROUND

The statements in this section merely provide background information related to the present disclosure and may or may not constitute prior art.

Motor vehicles include various detection technologies to automate certain vehicle controls and functions. For example, a facial recognition system may be used as biometric security for a motor vehicle. The facial recognition system identifies a person from an image of a subject face. The image is captured using machine vision, i.e., a camera or other sensor. The facial recognition system extracts multiple features of the subject face from the image, measures and maps the features relative to one another, and uses software algorithms to identify the person. In another example, a gesture recognition system may be used to implement a touchless user interface. The gesture recognition system employs one or more sensors, such as motion sensors or cameras, to monitor a user's movements. Detected movements that correspond to a command generate an output from the vehicle, such as unlocking a device, launching an application, etc. The gesture recognition system uses software algorithms, in a manner similar to facial recognition, to detect and analyze user's gestures.

While these software algorithms are useful for their intended purpose, there is a need in the art for new systems and methods that employ artificial intelligence learning systems to operate facial and gesture recognition systems without requiring cost prohibitive processing and training.

SUMMARY

A system and method for facial and gesture recognition, and more particularly system and method for facial and gesture recognition using a convolutional neural network (CNN) is provided.

Further areas of applicability will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.

DRAWINGS

The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.

FIG. 1 is a schematic diagram of a facial and gesture recognition system used with an exemplary motor vehicle;

FIG. 2 is a diagrammatic presentation of the elements of a CNN of the present disclosure;

FIG. 3 is a schematic diagram of a registration mode; and

FIG. 4 is a schematic diagram of an authentication mode.

DETAILED DESCRIPTION

The following description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses.

Referring to FIG. 1, a schematic diagram of a facial and gesture recognition system 10 according to aspects of the present disclosure is shown with an exemplary motor vehicle 12. The motor vehicle 12 is illustrated as a passenger vehicle, however, the motor vehicle 12 may be a truck, sport utility vehicle, van, motor home, or any other type of vehicle without departing from the scope of the present disclosure. The facial and gesture recognition system 10 generally includes a controller 14 and one or more sensors 16.

The controller 14 is a non-generalized, electronic control device having a preprogrammed digital computer or processor 18, memory or non-transitory computer readable medium 20 used to store data such as control logic, software applications, instructions, computer code, data, lookup tables, etc., and input/output ports 22. Computer readable medium includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. Thus, a non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device. Computer code includes any type of program code, including source code, object code, executable code, and a neural network. The processor 20 is configured to execute the code or instructions and the neural network. The controller 14 may be a dedicated control module or part of another control module on the motor vehicle 12, such as an advanced driver assist or autonomous driving control module, an engine control module, a body control module, etc.

The one or more sensors 16 are mounted along a periphery of the motor vehicle 12. In the example provided, the one or more sensors 16 include a front sensor 16A, a rear sensor 16B, a left sensor 16C, and a right sensor 16D. However, it should be appreciated that there may be any number of sensors 16 without departing from the scope of the disclosure. Each of the sensors 16A-D is operable to collect or sense information in a predefined area surrounding the motor vehicle 12. Information from the sensors 16A-D is communicated to the controller 20. In a preferred embodiment, the sensors 16A-D are cameras that collect images and/or video data. For example, the sensors 16A-D may be infra-red cameras, RGB cameras, dual (side-by-side) cameras, time-of-flight cameras, or log profile cameras. In one aspect, the left sensor 16C is mounted in a left trim pillar 18 of the motor vehicle 12 while the right sensor 16D is mounted in a right trim pillar 20.

With reference to FIG. 2, a convolutional neural network (CNN) 24, specifically a heterogeneous convolutional neural network (HCNN) similar to the CNN described in applicant's U.S. provisional patent application 62/639,214 filed on Mar. 6, 2018 which is hereby incorporated by reference in its entirety, used by the facial and gesture recognition system 10 is shown in a schematic diagram. The CNN 24 is executed by the controller 14. Generally, the CNN 24 receives an input image 30 via one of the sensors 16A-D and performs several parallel tasks. In the example provided, the CNN 24 includes a first sub-network 44 that outputs a first sub-network output 46 and a second sub-network 48 that outputs a second sub-network output 50. Additional third and more sub-networks performing further tasks, up to an n sub-network 52 outputting a n sub-network output 54, where n is a whole number greater than 1, may also be provided with the CNN 24. In the example provided, the first sub-network 44 performs a first task of facial recognition while the second sub-network 48 performs a second task of gesture recognition. The first sub-network output 46 includes confidence levels associated with registered users of the facial and gesture recognition system 10. The second sub-network output 50 includes confidence levels associated with gestures associated with vehicle control commands.

The CNN 24 includes convolutional neural networks (CNNs) having multiple convolution, pooling and activation layers stacked together with each other. A first set of these layers defines a feature extraction layer (FEL) portion 56 defining the first set of layers directly after and directly receiving the input image 30. The FEL portion 56 conducts a learning operation and thereby learns to represent a first stage of data of the input image 30. The FEL portion 56 includes multiple different stacked layers, wherein the first set of layers (the one directly after and receiving the input image 30) learns to represent data in a very simple form such as horizontal and vertical lines and simple blobs of colors. The following layers of the FEL portion 56 capture more complex shapes such as circles, rectangles, triangles, and the like. The subsequent layers of the FEL portion 56 detect complex combinations of features from the previous layer or layers to form a more meaningful representation such as wheels, faces, grids, and the like. The FEL portion 56 distributes the first stage of data to each of the first sub-network 44 and the second sub-network 48 and the n sub-network 52.

In the first sub-network 44, included with the layers defining the FEL portion 56 is a sub-set of convolution, pooling and activation layers stacked on top of each other defining a first convolution and pooling layer (CPL) portion 58 and a second convolution and pooling layer (CPL) portion 60. The first convolution and pooling layer (CPL) portion 58 receives the first stage of data output from the FEL portion 56 and in a second stage of data captures the more complex shapes more complex shapes including circles, rectangles, triangles, and the like to handle the individual special tasks including object detection, classification, and localization. The third and final grouping of layers defining the second convolution and pooling layer (CPL) portion 60 of the first sub-network 44 then captures a third stage of data defining complex combinations of the features from the FEL portion 56 and the first CPL portion 58 to form a meaningful representation of faces needed to handle the individual special tasks of facial recognition and assignment of confidence levels.

Data from each of the FEL portion 56, including the CPL portion 58 and the CPL portion 60 are merged to generate a fully connected layer 62. Non-maximum suppression of the data of the fully connected layer 62 is used to generate the first sub-network output 46.

The single FEL portion 56 and therefore the tasks performed by the single FEL portion 56 are common to all the CNNs of the first sub-network 44 and the second sub-network 46 (and any additional n sub-networks 52) for the CNN 24 regardless of the final task performed by each individual CNN. Because the initial volume of data analyzed from the input image 30 is greatest, by performing this analysis only once and using the output of the single FEL portion 56 for the input of each of the sub-networks reduces computational time and memory and reduces hardware.

Thus, for example, a CPL portion 64 of the second sub-network 48 also directly receives the first stage of data from the FEL portion 56 in lieu of providing a separate feature extraction layer for the second sub-network 48. A CPL portion 66 of the second sub-network 48 receives the first stage of data from the CPL portion 58. A CPL portion 68 of the second sub-network 48, which includes a 2× deconvolution member 70, receives the output from the CPL portion 60. An output from the 2× deconvolution member 70 and the output from the CPL portion 66 are added and passed through a 2× deconvolution member 72. An output from the 2× deconvolution member 72 and the output from the CPL portion 64 are added and passed through an 8× deconvolution member 74 to generate the second sub-network output 50. An example of the HCNN 24 is described in commonly owned U.S. Provisional Pat. App. No. 62/639,214, filed Mar. 6, 2018, herein incorporated by reference. It should be appreciated that other types of artificial intelligence methods, such as deep learning, may be employed. In addition, multiple CNN's or CNN's in combination with HCNN's may be employed.

The facial and gesture recognition system 10 generally includes two modes: a registration mode 80, shown as a schematic diagram in FIG. 3, and an authentication mode 82, shown as a schematic diagram in FIG. 4. Each of these modes will be described in greater detail below.

Referring to FIG. 3, the registration mode 80 begins with an image of a new user 84. A new user is one which has not been authenticated by the facial and recognition system 10 or one which has been previously authenticated but subsequently deleted from memory by the facial and recognition system 10. The image of the new user 84 may be taken by one of the sensors 16A-D or by a remote sensor, such as a cell-phone camera, a computer camera, etc. The image of the new user 84 may be used for facial recognition or gesture recognition. For facial recognition, the image of the new user 84 may be one of a series of images of the face at different angles. For gesture recognition, the image of the new user 84 may be one of a series of images of different gestures including hand gestures and head gestures. The image of the new user 84 is fed into a face representation module 86 and/or a gesture recognition module 88.

The face representation module 86 performs face detection 90 and feature extraction 92 on the image of the new user 84. Face detection 90 includes identifying whether the image includes a face. Feature extraction 92 includes identifying and defining points of interest on the face and determining the relationship, such as distance, between the points of interest.

The gesture representation module 88 performs frame difference analysis 94 and feature extraction 96 on the image of the new user 84. Frame difference analysis 94 analyzes differences between multiple images to determine if a gesture is being deployed. Feature extraction 96 includes identifying features of the gesture that characterize the gesture.

The output of the face representation module 86 and/or the gesture representation module 88 is the input image 30 that is fed into the CNN 24. During the registration mode 80, the input image 30 is annotated and associated with the new user. The CNN 24 trains on the input image 30 that is annotated and associated with the new user to generate a registered user profile 98. The registered user profile 98 is stored in memory and used by the CNN 24. The registered user profile 98 includes data associated with the registered user's face and/or gestures.

Turning to FIG. 4, the authentication mode 82 begins with an image of the registered user 100. The image of the registered user 100 is captured by one of the sensors 16A-D. In one aspect, the image of the registered user 100 is captured when a key FOB (not shown) is detected by the motor vehicle 12. The image of the registered user 100 may include a face and/or a gesture. The facial and gesture recognition system 10 then performs preprocessing 102 on the image of the registered user 100. The preprocessing 102 includes cropping the image of the registered user 100. The cropped image of the registered user 100 is then fed into the face representation module 86 and/or the gesture representation module 88. The face representation module 86 performs face extraction 90 and feature extraction 92 before feeding the input image 30 into the CNN 24. The gesture representation module 88 performs frame detection 94 and feature extraction 96 before feeding the input image 30 into the CNN 24.

The CNN 24 uses the input image 30 to determine confidence levels that the image of the registered user 100 is associated with a particular registered user profile 98. The CNN 24 outputs the facial confidence level as the first sub-network output 46. Likewise, the CNN 24 uses the input image 30 to determine confidence levels that the image of the registered user 100 is associated with a particular command gesture. The CNN 24 outputs the gesture confidence level as the second sub-network output 50.

The first sub-network output 46, i.e. the facial confidence level, and the second sub-network output 50, i.e. the gesture confidence level, are each communicated into a decision module 104. The decision module 104 performs a face decision criterion calculation 106 based on the facial confidence level. For example, the face decision criterion calculation 106 compares the facial confidence level to a threshold to determine if the facial confidence level exceeds the threshold. In one example, the threshold is 85%.

The decision module 104 also performs a gesture decision criterion calculation 108 based on the gesture confidence level. For example, the gesture decision criterion calculation 108 compares the gesture confidence level to a threshold to determine if the gesture confidence level exceeds the threshold. In one example, the threshold is 85%.

The decision module 104 then performs a decision criterion calculation 110 to determine if the facial and gesture recognition system 10 should perform an action, i.e., command the motor vehicle 12. The decision criterion calculation 110, in one example, performs an analysis on the output of the face decision criterion calculation 106 and the gesture decision criterion calculation 108. Once complete, the decision module 104 outputs an accept or reject notice 112 that may be used by the controller 14, or other control modules in the motor vehicle 12, to command an action. For example, if accepted, the motor vehicle 12 may unlock, a rear trunk may open upon receipt of a gesture, a side door may open, the engine may start, etc.

The description of the present disclosure is merely exemplary in nature and variations that do not depart from the gist of the present disclosure are intended to be within the scope of the present disclosure. Such variations are not to be regarded as a departure from the spirit and scope of the present disclosure. 

What is claimed is:
 1. A system and method for facial and gesture recognition, and more particularly a system and method for facial and gesture recognition using a convolutional neural network (CNN). 